{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 关于新型冠状病毒和传染病模型\n",
    "参考资料：[关于传染病的数学模型有哪些？ - 张戎的回答 - 知乎](https://www.zhihu.com/question/367466399/answer/985150406)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "plt.rcParams['font.size'] = 15.0"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "最近新型冠状病毒的传染牵动着你我的心。人们研究传染病已经研究了很久了，也提出了很多不同的数学模型。既然闲赋在家，不如找几个模型练练你（还有我）的数学建模和编程能力。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## SI模型 (Susceptible-Infectious)\n",
    "在这个模型下，只有两种人，一种人容易易感染病毒，叫做易感者Susceptible $S(t)$，另一种人已经感染了病毒，叫做感染者Infectious $I(t)$。$I(t)$会向$S(t)$传染病毒。这两种人的数量变化满足以下微分方程。\n",
    "\n",
    "$$\\frac{dS}{dt} = -\\frac{c \\beta I}{N}S,\\\\ \\frac{dI}{dt} = \\frac{c \\beta I}{N} S.$$\n",
    "其中：\n",
    "\n",
    "传染率 $\\beta$: 表示感染者接触到易感者之后，易感者得病的概率；\n",
    "\n",
    "接触率 $c$: 表示在每天感染者接触到的易感者人数。感染者每天去菜市场乱走的话，$c$就会很大。如果隔离措施做得好，$c$就很小。\n",
    "\n",
    "总人数 $N$: 该封闭地区的总人数，$N = N(t) = I(t) + S(t)$.\n",
    "\n",
    "这是一个一阶线性微分方程组。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**（1）利用$S = N - I$，将该方程组化简为一个关于$I(t)$的微分方程。**\n",
    "\n",
    "甭管你算没算对，化简完应该是\n",
    "$$\\frac{dI}{dt} = c\\beta (I - I^2/N)$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**(2) 下面我演示了如何利用scipy中的odeint函数解该微分方程。请研究代码（不懂的去查），并描述接触率和传染率的变化如何影响疫情发展**"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {},
   "outputs": [],
   "source": [
    "from scipy.integrate import odeint\n",
    "def SImodel(point, t, params):\n",
    "    \"\"\"\n",
    "    point：自变量\n",
    "    params：参数\n",
    "    \"\"\"\n",
    "    c, beta, N = params\n",
    "    I = point\n",
    "    return c * beta * (I - I**2 / N)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.rcParams['font.size'] = 15.0\n",
    "\n",
    "t = np.arange(0, 200, 0.1)    # 200天\n",
    "N = 10000 # 一共一万人\n",
    "beta = 0.005 # 传染率还是很低的\n",
    "for c in [10, 50, 100]:   # 如果接触率分别为200人/天，500人/天，1000人/天，疫情会有什么不同\n",
    "    P = odeint(SImodel, 1.0, t,      # 最开始只有一个人感染，所以是1.0\n",
    "               args=([c, beta, N],)) # 三个数分别为c, beta, N\n",
    "    plt.plot(t, P, label='c={}'.format(c))\n",
    "plt.legend()\n",
    "plt.xlabel('Time (days)')\n",
    "plt.ylabel('Infected People')\n",
    "plt.tick_params(direction='in')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(0, 10500.0)"
      ]
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "t = np.arange(0, 200, 0.1)    # 200天\n",
    "N = 10000 # 一共一万人\n",
    "c = 30    # 每天接触30个人\n",
    "for beta in [0.001, 0.005, 0.015]:   # 如果接触率分别为200人/天，500人/天，1000人/天，疫情会有什么不同\n",
    "    P = odeint(SImodel, 1.0, t,      # 最开始只有一个人感染，所以是1.0\n",
    "               args=([c, beta, N],)) # 三个数分别为c, beta, N\n",
    "    plt.plot(t, P, label='beta={}'.format(beta))\n",
    "\n",
    "plt.legend()\n",
    "plt.xlabel('Time (days)')\n",
    "plt.ylabel('Infected People')\n",
    "plt.tick_params(direction='in')\n",
    "plt.ylim(0, 1.05e4)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## SIS模型 (Susceptible-Infectious-Susceptible)\n",
    "在这个模型下，还是只有两种人，但是感染者可以被治好，治好之后变回易感者（感冒就是这个亚子）。这两种人的数量变化满足以下微分方程。\n",
    "\n",
    "$$\\frac{dS}{dt} = -\\frac{c \\beta I}{N}S + \\gamma I,\\\\ \\frac{dI}{dt} = \\frac{c \\beta I}{N} S - \\gamma I.$$\n",
    "\n",
    "其中：\n",
    "\n",
    "传染率 $\\beta$: 表示感染者接触到易感者之后，易感者得病的概率；\n",
    "\n",
    "接触率 $c$: 表示在每天感染者接触到的易感者人数。感染者每天去菜市场乱走的话，$c$就会很大。如果隔离措施做得好，$c$就很小。\n",
    "\n",
    "治愈率 $\\gamma$: 表示感染者被治愈的概率；\n",
    "\n",
    "总人数 $N$: 该封闭地区的总人数，$N = N(t) = I(t) + S(t)$.\n",
    "\n",
    "这是一个一阶线性微分方程组。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**（3）利用$S = N - I$，将该方程组化简为一个关于$I(t)$的微分方程。**\n",
    "\n",
    "甭管你算没算对，化简完应该是\n",
    "$$\\frac{dI}{dt} = c\\beta (I - I^2/N) - \\gamma I$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**(4) 如果你认真学习了之前的例子，就可以自己独立完成SIS这个例子。请补全下面的函数，并研究治愈率$\\gamma$如何影响疫情传播。治愈率最大可以是多少？？（别告诉我是一万哈😂）**"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "metadata": {},
   "outputs": [],
   "source": [
    "def SISmodel(point, t, params):\n",
    "    \"\"\"\n",
    "    point：自变量\n",
    "    params：参数\n",
    "    \"\"\"\n",
    "    c, gamma, beta, N = params\n",
    "    I = point\n",
    "    return c*beta*(I-I**2/N)-gamma*I\n",
    "\n",
    "### 请根据SIS模型补全这里的return"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 模仿之前的例子，画出不同治愈率gamma时的感染曲线，并讨论治愈率的重要性。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 41,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "t = np.arange(0, 200, 0.1)\n",
    "N = 10000\n",
    "beta = 0.005\n",
    "c = 30\n",
    "for gamma in [0.005, 0.05, 0.1]:\n",
    "    P = odeint(SISmodel, 1.0, t, \n",
    "              args=([c, gamma, beta, N],))\n",
    "    plt.plot(t, P, label='gamma={}'.format(gamma))\n",
    "\n",
    "plt.legend()\n",
    "plt.xlabel('Time (days)')\n",
    "plt.ylabel('Infected People')\n",
    "plt.tick_params(direction='in')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## SIR模型 (Susceptible-Infectious-Recovered)\n",
    "在这个模型下，有三种人。感染者可以被治好，治好之后就都变成了有抗体的健康人 $R(t)$（不再是易感人群）。例子比如水痘啊之类的（你得过水痘吗？）。这三种人的数量变化满足以下微分方程。\n",
    "\n",
    "$$\\frac{dS}{dt} = -\\frac{c \\beta I}{N}S,\\\\ \\frac{dI}{dt} = \\frac{c \\beta I}{N} S - \\gamma I,\\\\ \\frac{dR}{dt} = \\gamma I.$$\n",
    "\n",
    "其中：\n",
    "\n",
    "传染率 $\\beta$: 表示感染者接触到易感者之后，易感者得病的概率；\n",
    "\n",
    "接触率 $c$: 表示在每天感染者接触到的易感者人数。感染者每天去菜市场乱走的话，$c$就会很大。如果隔离措施做得好，$c$就很小。\n",
    "\n",
    "治愈率 $\\gamma$: 表示感染者被治愈的概率；\n",
    "\n",
    "总人数 $N$: 该封闭地区的总人数，$N = N(t) = I(t) + S(t) + R(t)$.\n",
    "\n",
    "这是一个一阶线性微分方程组。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**(5) 这里就没法写成一个单独的微分方程了。我已经给你补全了下面的函数，请把它搞明白。**"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 135,
   "metadata": {},
   "outputs": [],
   "source": [
    "def SIRmodel(point, t, params):\n",
    "    \"\"\"\n",
    "    point：自变量\n",
    "    params：参数\n",
    "    这里自变量有两个，所以return的是一个拥有两个元素的array。\n",
    "    \"\"\"\n",
    "    c, gamma, beta, N = params\n",
    "    I, S = point\n",
    "    if I + S <= N:  # 请解释这一句在干什么？限定函数适用条件\n",
    "        return np.array([c * beta * S * I / N - gamma * I, - c * beta * S * I / N]) \n",
    "    else:\n",
    "        return None"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**(6) 微博上的“[于晓华_经济](https://weibo.com/u/1684992301)”就是在这种模型下模拟了2019nCoV的疫情。他根据SARS时期的数据断言 $\\gamma = 0.0821$, $c = 100$ 人/天, $\\beta = 0.002865$. 武汉有一千万人，最开始在华南海鲜市场里有10个人感染新型冠状病毒，而且最开始没有人具有抗体。这里假设第一例病毒感染是从12月20日开始的。请研究这种情况下疫情如何发展，什么时候感染的人最多？什么时候疫情开始缓和？你的结果和他微博上的结果一样吗？**"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 165,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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q2/xJ2s2FR0dXeiv9JiYGBISEvDz8wOgfn1j6PPRo0fp0qULABERERw/fpwWLVoUuqejoyO33347zz//PGPGjCE+Pp6WLVsSFBTEF198wZAhQ0zG0rt3bw4dOkRISEi+0VimLF++nIEDB+b7HBISktsEVatWLVJTUy38LhjXjxkzBjCSx7p16xg/frzJc93c3OjRowfHjx/n1VdftfgZZWFRslBK7ReR5sBkjE7tDhjzLuYB7ymlSl7v0jRz/NrCsVWlXvYjKS2JfdH7eKidlUaFaOWqffv2DB06lH79+uHr68vZs2d59913cXV15cEHHwSMZNG1a1emTp2Kq6srWVlZvPnmm3h5eeXe58CBA0yePJlRo0bRpEkTrly5wttvv03Hjh1zz3vnnXe47777uO+++7j33nsRETZs2MC9995LaGgo06dPp1u3bgwePJiHH36YevXqceHCBdatW8fYsWMJDw/Pfd4vv/zCyy+/TFhYGMuWLWPdunX8+OOPucdbtWrFjz/+yIoVK6hfvz6BgYFm/+J3cXHh5Zdf5urVqwQGBvLuu++SlpbGM888Y/b79s4779C7d2/s7OwYMWIE7u7unDt3jlWrVvHGG2+YTKJlYq7nu6q/9GioKmz7PKWmeSiVGFWqy9eeWavaLWyndl/cXc6BVT7VYTTU3LlzVd++fVVAQIBycnJSjRo1Uvfee686evRovvNOnjypwsLClKurq2rRooVasWJFvpFFly5dUvfff78KDg5WTk5Oys/PT40ePVqdPXs2332WLl2qunTpopycnJSXl5caNGiQOnPmTO7xo0ePqrvvvlvVrVtXOTs7q6ZNm6rx48eriIgIpdSN0VC//vqrGjBggHJxcVFBQUHqww8/zPecmJgYNWzYMFW3bl0FqGnTpimlTI+G8vb2Vr///rvq2LGjqlWrlurQoYPavHlzvvsVHA2llFLbt29X/fv3V+7u7srV1VW1bt1aPffccyo+Pt7s97u0o6FEFRg7XF2Ehoaq3bt32zoMrTTObIGFg+H+pdCsT4kvf3Xrq6w/u57fR/+Og131njN69OhRWrdubeswapRNmzZx2223cfDgwXIfcVQRivqZEZE9SqlQU8f0Tnla5eObvRxCKUZEKaXYcmELPQN7VvtEoWkVSScLrfJx9QKPoFIt+3H8ynFiUmL0Eh+aVs70n15a5eTX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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "t = np.arange(0, 200, 0.1)\n",
    "N = 1e7\n",
    "beta = 0.002865\n",
    "c = 100\n",
    "gamma = 0.0821\n",
    "result = odeint(SIRmodel, (10, 1e7-10), t, args=([c, gamma, beta, N],))\n",
    "plt.plot(t, result[:, 0], label='Infectious')\n",
    "plt.plot(t, result[:, 1], label='Susceptible')\n",
    "plt.plot(t, N - result[:, 0] - result[:, 1], label='Recovered')\n",
    "plt.legend()\n",
    "plt.ylim(0, 1e7)\n",
    "plt.xlim(0, 200)\n",
    "plt.xticks(np.arange(0, 200, 25))\n",
    "plt.xlabel('Time (days)')\n",
    "plt.ylabel('Number of People')\n",
    "plt.tick_params(direction='in')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 115,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "2020-01-09\n",
      "23 days, 15:35:30\n"
     ]
    }
   ],
   "source": [
    "# 提示：这里有方便算时间天数间隔的函数\n",
    "import pandas as pd\n",
    "import datetime\n",
    "print(datetime.date(2019, 12, 10) + datetime.timedelta(days=30))\n",
    "print(datetime.datetime(2020, 1, 3) - datetime.datetime(2019, 12, 10, 8, 24, 30))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 143,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'1.3.1'"
      ]
     },
     "execution_count": 143,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "import scipy\n",
    "scipy.__version__"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 167,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "2020-03-04\n",
      "2020-03-29\n"
     ]
    }
   ],
   "source": [
    "print(datetime.date(2019, 12, 20) + datetime.timedelta(days=75))\n",
    "print(datetime.date(2019, 12, 20) + datetime.timedelta(days=100))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**(7) SIR模型有什么局限性？**"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "没有考虑感染者再次被感染的可能；没有考虑潜伏期"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 引入隔离后的SIR模型\n",
    "上面的SIR模型预测的结果是在75天左右，感染的人数会达到最多，而且接近400万人。这个骇人的数字害得我睡不着觉。思来想去，觉得中国政府中央集权的优越性必须要在这个时候体现出来。1月23日，武汉宣布封城，后来湖北所有地级市全部封城。简化起见，我们这里不考虑宏观人口流动的影响，把封城和隔离的作用全部归结于减小了接触率$c$。另一方面，戴口罩和勤洗手可以有效减少传染率$\\beta$。\n",
    "\n",
    "在以下假设下考虑疫情的传播。在$t=34$天的时候，武汉封城，接触率$c$开始指数下降 ($c_0$是原来没有封城时候的接触率)：\n",
    "$$ c(t) = (0.9 e^{-(t - 34) / 5} + 0.1)\\ c_0 .$$\n",
    "\n",
    "传染率也因为戴口罩而指数下降 ($\\beta_0$是原来没有封城时候的接触率)：\n",
    "$$ \\beta(t) = (0.9 e^{-(t - 30) / 5} + 0.05)\\ \\beta_0 .$$\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 172,
   "metadata": {},
   "outputs": [],
   "source": [
    "def NewSIRmodel(point, t, params):\n",
    "    \"\"\"\n",
    "    point：自变量\n",
    "    params：参数\n",
    "    这里自变量有两个，所以return的是一个拥有两个元素的array。\n",
    "    \"\"\"\n",
    "    c, gamma, beta, N = params\n",
    "    I, S = point\n",
    "    if t > 34:\n",
    "        c *= 0.9 * np.exp(-(t - 34) / 5) + 0.1\n",
    "        beta *= 0.9 * np.exp(-(t - 30) / 5) + 0.05\n",
    "    if I + S <= N:\n",
    "        return np.array([c * beta * S * I / N - gamma * I, - c * beta * S * I / N]) \n",
    "    else:\n",
    "        return None"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**(8) 在这样的假设下，解释为什么$\\beta$下降的式子中是t-30而非t-34？并解释 (t-30)/5 这个除以5的5对疫情有什么影响？如果是除以3呢？疫情会更快变好吗？**"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "传染率下降时间相对接触率下降时间提前？除以5表示传染率下降的速度要打折扣；如果我算得对的话，除以3在t = 34天后的一段时间内疫情会更快变好，但长期不会更快。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**(9) 在以上这些假设下，讨论新型冠状病毒的传播情况。封城和戴口罩双管齐下之后，还会有那么多人感染吗？以及什么时候疫情会变得更好？正月十五之前会变好吗？**"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 199,
   "metadata": {},
   "outputs": [],
   "source": [
    "def NewSIRmodel(point, t, params):\n",
    "    \"\"\"\n",
    "    point：自变量\n",
    "    params：参数\n",
    "    这里自变量有两个，所以return的是一个拥有两个元素的array。\n",
    "    \"\"\"\n",
    "    c, gamma, beta, N = params\n",
    "    I, S = point\n",
    "    if t > 34:\n",
    "        c *= 0.9 * np.exp(-(t - 34) / 5) + 0.1\n",
    "        beta *= 0.9 * np.exp(-(t - 30) / 5) + 0.05\n",
    "    if I + S <= N:\n",
    "        return np.array([c * beta * S * I / N - gamma * I, - c * beta * S * I / N]) \n",
    "    else:\n",
    "        return None"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 222,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "image/png": "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1vyE06NHDxYuXMh3331H586dadSoEY0aWea0derUiRo1agDw6aefsmvXLnbv3k2TJk0A6NmzJ82aNeONN97gtddeY9++fXz66ae8/fbbPPbYY/nXGzlyJAAtWrTA29ubmjVrctVVV5UY43PPPUePHj344osvAOjb1/Lz83//9388++yz1KlTx6avdevWrfj4+PDaa6/lH+vfv79N51Ykm5KRMeZ14B/AJnQAg8p1KP4cIT7u1HAv+b/RzridCHJJgxes+Xm6MrRDOHO3HOf/+kfi71X6cHJlX88v3M2ek6kOuXaL2r5MHtTSLm317t07/3NXV1eaNGnC8ePHSzxn+fLldOzYkYiIiAJdZd27d2fzZsuGkStWrAC47NF32dnZ/P7777z11lsFjo8cOZIJEyawbt06hg8fblNbrVu3JiUlhbvuuovbb7+dq6++Gm/v0nszKpqtfSb3ARNFpIuI3C4idxd+lWeQqnI6FH+OCFu66OK24WScaB3c+rKvOaprfS5k5TB7sz47UpfO39+/wHs3NzfS09NLPCc+Pp7169fj6upa4PX5559z7Jjl/2NCQgLe3t6XPeghPj6ezMxMatWqVeB43vuydLE1a9aMBQsWcPDgQfr3709wcDC33XYbcXFxlxWjvdk6mu48sKU8A1FVi4hwIPYs/VuHlVp3W+w2mgU0w8v18udGR4b60jkikC/XH+Heaxri7KQrBFQke92ZVEWBgYFERUXxwQcfXFTm7u4OQFBQEOfOnSM1NfWyElJwcDCurq7ExsYWOH769On8WAA8PDzIyCjYUZWUdPHk8AEDBjBgwABSUlL48ccf+cc//sGjjz7KN998c8kx2putd0ZvA2OMrg2icsWeuUBKWiaRoT4l1svKyWJH3I5LmuxanLu6NuBYYhor98eWXlkpO4mOjubAgQPUq1ePqKioAq/WrS13/TfccAMA//nPf4ptx5a7MGdnZzp27MicOXMKHJ89ezZOTk507doVgDp16nDmzJn81bLBMvChOH5+ftx2220MHTqUPXv2lPwFVzBb74yCgS7AfmPMSi4ewCAiMsGeganKbf8py6IbTWuVnIwOJB/gfNb5y35eZK13y1rU8nXni3VHiG5eq/QTlLKDUaNGMWPGDHr06MH48eNp2LAhCQkJbNy4kdDQUMaNG0ezZs0YM2YMTz75JLGxsVx33XUk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urJNnz6dsWPHMnXq1PxjgwYNYvLkyQ6MqvxYr9Zd1RTbTSciw4t7YRnOHQt0xPIcR5fMqQa2HLHsIGlLMmpXsx1OxjG9wA/3aIyfpytTF+1FV6Wv3pKTkwkNDb3ouPXCvStXrsQYw65duwrUKdzltXv3bvr27UtgYCDe3t40b96c9957r8A58+bNo3Pnznh6ehIUFET//v05cuTv1UF27drFgAED8PHxwcfHh+HDh3Pq1N/LX+bFsnTpUgYOHIi3tzf16tUrsEfR6NGjmTt3LqtWrcIYgzGGKVOmFBlznrVr19KhQwc8PDxo164da9asKfV7t2bNGrp3746XlxdBQUHcf//9nDlzptTzLlWZflsYYxobYz7FslrBjVi6teqLyLTyCE5VLluOJOHl5lzi7q4pF1L4K+Uvh3TR5fHzcuXx6CasPZDA0j3a01qddejQgXfffZcvvviChITLG2t144034uzszH//+1++//57Hn300QK/nL/88ktuuukmGjVqxOzZs/n8889p2rQpcXFxABw4cICrr76a9PR0vvzyS2bOnMnu3bsZNGjQRX803XvvvbRp04bvvvuOfv368eCDD/LDDz8AMGnSJK6//nrat2/PunXrWLduHffdd1+xcZ8/f5477riDBx54gDlz5uDv70+/fv0KJMHC1q5dS3R0NKGhoXz77be89dZbLFq0iLvvvvtyvoUlsnWeUUtgIpYRZ8eAx4HPRCSjxBPVFWXLkSTa1fXHxbn4v2G2x20Hym9xVFvdcVV9vtl4jOe/3801jYNLXC1ClcHip+HUTsdcO7Q19Hu5TKe89957DBkyhNGjR2OMoXnz5tx8882MHz8eX9+Sl7OyFh8fz8GDB5k/f37+FuPR0X8/Js/JyeHpp59m6NChfP311/nHrTfde/755wkNDWXx4sW4uVkWdmnTpg2RkZEsWrSIAQMG5Nft169fftdinz59OHjwIC+++CIDBw6kUaNGBAYGkpOTw1VXXVVq7Glpabz00kvcdptl9fzrr7+eevXq8dZbb/Hyy0V/P59++mm6devGrFmz8o+Fh4cTHR3Nrl27aNWqVanXLasS74yMMR2NMd8BO4D2wH1AExGZoYmoejl3IYu9MalE2dBF52ycaRVs//+sZeHq7MRLQ1txMiWdd34uvOygqi7atGnD3r17+f7773nooYcQEf71r38R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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "t = np.arange(0, 150, 0.1)\n",
    "N = 1e7\n",
    "result = odeint(NewSIRmodel, (10, 1e7-10), t, args=([100, 0.0821, 0.002865, N],))\n",
    "plt.plot(t, result[:, 0], label='Infectious')\n",
    "plt.plot(t, result[:, 1], label='Susceptible')\n",
    "plt.plot(t, N - result[:, 0] - result[:, 1], label='Recovered')\n",
    "plt.legend()\n",
    "plt.xlim(0, )\n",
    "plt.ylim(0, 2e4)\n",
    "plt.xticks(np.arange(0, 150, 20))\n",
    "plt.xlabel('Time (day)')\n",
    "plt.ylabel('Number of People')\n",
    "plt.tick_params(direction='in')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "大概35天感染人数下降"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 224,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "2020-01-24 00:00:00\n",
      "50 days, 0:00:00\n"
     ]
    }
   ],
   "source": [
    "print(pd.datetime(2019, 12, 20) + datetime.timedelta(days=35))\n",
    "print(pd.datetime(2020, 2, 8) - pd.datetime(2019, 12, 20))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**(10) 我们讨论了这么多模型，它们有什么共同的缺陷？**"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "没考虑潜伏期"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 拓展阅读：SEIR模型 (Susceptible-Exposed-Infectious-Recovered)\n",
    "在这个模型下，有四种人，多了一种人叫做潜伏者，exposed.\n",
    "\n",
    "$$\\frac{dS}{dt} = -\\frac{c \\beta I}{N}S,\\\\ \\frac{dE}{dt} = \\frac{c \\beta I}{N} S - \\sigma E, \\\\ \\frac{dI}{dt} = \\sigma E - \\gamma I,\\\\ \\frac{dR}{dt} = \\gamma I.$$\n",
    "\n",
    "其中：\n",
    "\n",
    "传染率 $\\beta$: 表示感染者接触到易感者之后，易感者得病的概率；\n",
    "\n",
    "接触率 $c$: 表示在每天感染者接触到的易感者人数。感染者每天去菜市场乱走的话，$c$就会很大。如果隔离措施做得好，$c$就很小。\n",
    "\n",
    "治愈率 $\\gamma$: 表示感染者被治愈的概率；\n",
    "\n",
    "潜伏期 $\\sigma$: 是潜伏时长的倒数，这里设置为5天；\n",
    "\n",
    "总人数 $N$: 该封闭地区的总人数，$N = N(t) = I(t) + S(t) + R(t)$.\n",
    "\n",
    "这是一个一阶线性微分方程组。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 226,
   "metadata": {},
   "outputs": [],
   "source": [
    "def SEIRmodel(point, t, params):\n",
    "    \"\"\"\n",
    "    point：自变量\n",
    "    params：参数\n",
    "    这里自变量有两个，所以return的是一个拥有两个元素的array。\n",
    "    \"\"\"\n",
    "    c, gamma, beta, sigma, N = params\n",
    "    I, S, E = point\n",
    "    \n",
    "    if I + S + E <= N:\n",
    "        return np.array([sigma * E - gamma * I, - c * beta * S * I / N, c * beta * S * I / N - sigma * E]) \n",
    "    else:\n",
    "        return None"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "这里没有让大家戴口罩和封锁湖北省。可以看到，有潜伏期的情况下，爆发时间变为了第130天左右。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 227,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(0, 10000000.0)"
      ]
     },
     "execution_count": 227,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "t = np.arange(0, 350, 0.1)\n",
    "N = 1e7 + 10\n",
    "P = odeint(SEIRmodel, (10, 1e7, 0), t, args=([100, 0.0821, 0.002865, 1/5, N],))  #\n",
    "plt.plot(t, P[:, 0], label='Infectious')\n",
    "plt.plot(t, P[:, 2], label='Exposed')\n",
    "plt.plot(t, (N - P[:, 1] - P[:, 0]), label='Recovered')\n",
    "plt.legend()\n",
    "plt.xlabel('Time (day)')\n",
    "plt.ylabel('Number of People')\n",
    "plt.tick_params(direction='in')\n",
    "plt.ylim(0, 1e7)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.0"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
